


public class Sudoku {


	public static void main(String[] args) {
		
		//TODO:  setup board from args

//		cell c = new cell();
//		c.clearBit(3);
//		c.clearBit(4);
//		c.clearBit(7);
//		System.out.println(c.toStringCell());

		
		board b;
		try {
			
			
			//these are the same, one uses values, the other uses bitmasks
			//b = new board("..3.2.6..9..3.5..1..18.64....81.29..7.......8..67.82....26.95..8..2.3..9..5.1.3.."); //EASY
			//b = new board("511511004511002511032511511256511511004511016511511001511511001128511032008511511511511128001511002256511511064511511511511511511511128511511032064511128002511511511511002032511256016511511128511511002511004511511256511511016511001511004511511");
			// this one has same values, but the first cell has had the 9th bit cleared;
			//b = new board("255511004511002511032511511256511511004511016511511001511511001128511032008511511511511128001511002256511511064511511511511511511511128511511032064511128002511511511511002032511256016511511128511511002511004511511256511511016511001511004511511");
			
			
			b = new board("4.....8.5.3..........7......2.....6.....8.4......1.......6.3.7.5..2.....1.4......"); //HARD
			b.Rule2();
			
			
			System.out.print(b.toStringFull());
			
			

			
			
			
			
			
		} catch (Exception e) { e.printStackTrace(); }
		
		
		


	}
	


}
